/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Usuario;

/**
 *
 * @author carlos
 */
public class UsuarioFacade extends AbstractFacade{

    public UsuarioFacade() 
    {
        super();
    }
    
    
    public boolean vericarLogin(String usuario, String clave)
    {
        try {
            System.out.println("SELECT * FROM "+this.getTabla()+" WHERE  " +estructuraTabla()[2]+"  = '"+usuario+"' AND "+estructuraTabla()[3]+" = '"+clave+"'");
            String consulta="SELECT * FROM "+this.getTabla()+" WHERE  " +estructuraTabla()[2]+"  = '"+usuario+"' AND "+estructuraTabla()[3]+" = '"+clave+"'";
            ResultSet rs=super.conexion.select(consulta);
            
            
            int filas=0;
            while(rs.next())
            {
                filas++;
            }
            if(filas==0)
            {
                return false;
            }
            else
            {
                return true;
            }
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioFacade.class.getName()).log(Level.SEVERE, null, ex);
        }
        return false;
    }
    
     public Vector<Usuario> obtenerTodos()
    {
        Vector<Object> lista=this.getAll();
        Vector<Usuario> listaUsuario=new Vector<>();
        for (Iterator<Object> it = lista.iterator(); it.hasNext();) {
            Usuario usuario = (Usuario)it.next();
            listaUsuario.add(usuario);            
        }
        return listaUsuario;
    }
    
    public Usuario obtenerUno(String codigo)
    {
        Usuario usuario=(Usuario) this.getFind(codigo);
        return usuario;
    }
    
    @Override
    protected String getTabla() {
        return "usuario";
    }

    @Override
    protected String[] estructuraTabla() {
        String estructura[]=new String[6];
        estructura[0]="CODUSUARIO";
        estructura[1]="CODEMPRESA";
        estructura[2]="IDUSUARIO";
        estructura[3]="PASSWORD";
        estructura[4]="FECHACREACION";
        estructura[5]="ESTADO";
        
        return estructura;
    }
    
      
    @Override
    protected Object getObjeto(ResultSet r) {
        try {
            String e[]=estructuraTabla();
            Usuario usuario=new Usuario(r.getString(e[0]),r.getString(e[1]),r.getString(e[2]), r.getString(e[3]),r.getString(e[4]),r.getString(e[5]));
            return usuario;
        } catch (SQLException ex) {
            Logger.getLogger(UsuarioFacade.class.getName()).log(Level.SEVERE, null, ex);
        }
        return null;
    }

    
}
